#pragma once
#include <map>
#include "MEnviroment.h"

// CMarionetteProjectDoc document
typedef std::map<Marionette::MString,typename Marionette::MValue> MValueMap;
class CMarionetteProjectDoc : public CDocument
{
	DECLARE_DYNCREATE(CMarionetteProjectDoc)

public:
	CMarionetteProjectDoc();
	virtual ~CMarionetteProjectDoc();
	
	void GetAllValues(MValueMap& values);

private:
	Marionette::MEnviroment m_MarionetteEnv;
	Marionette::MMemory m_Memory;
//////////////////////////////////////////////////////////////////////////
public:
#ifndef _WIN32_WCE
	virtual void Serialize(CArchive& ar);   // overridden for document i/o

	void SaveTo( CArchive &ar );

	void LoadFrom( CArchive &ar );

#endif
#ifdef _DEBUG
	virtual void AssertValid() const;
#ifndef _WIN32_WCE
	virtual void Dump(CDumpContext& dc) const;
#endif
#endif

protected:
	virtual BOOL OnNewDocument();

	DECLARE_MESSAGE_MAP()

	afx_msg void OnNMClickListOd(NMHDR *pNMHDR, LRESULT *pResult);

};
